Computer networks necessitate the provision of various communication protocols to transmit and receive data. Typically, a computer network comprises a plurality of devices, such as computers, printers, and other computer peripherals, communicatively connected together. Data is transferred between each of the devices as data packets or frames which are communicated through the network using a communication protocol standard. Examples of the communication protocol standards include Internet Protocol (IP), Point-to-Point Protocol (PPP), and Transmission Control Protocol (TCP). Each network device includes a combination of hardware and software that translates protocols and process data. For example, a Network Interface Controller (NIC) connects a computer to a communication network.
To connect several devices to the communication network, a network interface controller (NIC) is generally coupled to each of the device and is also connected to network switching equipments at various layers. The network switching equipments typically includes network devices that forward traffic between devices based on information available at the Logic Link Layer, such as the MAC layer address in Ethernet, Token Ring, Fiber Channel or other types of packet switched network segments.
Conventionally, the NIC connected to the device provides network connectivity based on standard communication protocol along with various performance features like Tx/Rx Offload, Checksum offloads, address filtering, VLAN filtering etc. In the Ethernet protocol, a media access control (MAC) layer of the NIC acts as an interface between a Logic Link Layer, Layer 2 of the OSI reference model, and Physical Layer. The MAC layer, thus, transforms data packets from the host processor (also referred to as host herein) and sends the data packets to the physical layer, typically using Media Independent Interfaces, which serialize the data and transmits on the communication network.